home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
t_os
/
maestro
/
maestro.bas
< prev
next >
Wrap
BASIC Source File
|
1993-11-30
|
6KB
|
139 lines
10000 ' :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
10010 ' ひんしゅく覚悟音楽デモ
10020 ' 《 Oh! まえすとろ 》
10030 ' By 「まえすとろ」の世話係
10040 ' :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
10050 '
10060 CLEAR,,,210000
10070 SCREEN@0 : CLS : PLAY OFF : DEFINT A-Z
10080 '
10090 DIM SCB(101788),B(15),R(15),G(15)
10100 DIM RA(392),LA(392),RB1(72),RB2(72),LB1(72),LB2(72)
10110 DIM FA1(174),FA2(174),FB(174),PN(552)
10120 '
10130 FOR I=7 TO 15 : PALETTE I,[0,0,0] : NEXT I
10140 LOAD@"MAESTRO.TIF",(0,0) : LOAD@"AP_SCB12.EUP",SCB
10150 GET@A( 2, 2)-(29, 50),RA : GET@A( 2, 51)-( 29, 59),RB1
10160 GET@A(33, 51)-(60, 59),RB2 : GET@A(64, 2)-( 84, 30),FA1
10170 GET@A(64, 31)-(84, 59),FB : GET@A(88, 2)-(108, 30),FA2
10180 GET@A( 2, 63)-(29,111),LA : GET@A( 2,112)-( 29,120),LB1
10190 GET@A(33,112)-(60,120),LB2 : GET@A(64, 63)-(104,108),PN
10200 '
10210 LOAD@"TITLE.TIF",(256,209): WAIT 100
10220 GOSUB *T_LIGHT : WAIT 400 : GOSUB *T_DARK : WAIT 300
10230 '
10240 CLS
10250 SYMBOL(251,184),"~ 曲 目 ~" ,1 ,.875! ,%7 ' 16*14
10260 SYMBOL(259,218),"A.スクリアビン" ,1 ,.875! ,%7 ' 16*14
10270 SYMBOL(236,244),"12" ,1.125! ,.8125!,%7 ' 18*13
10280 SYMBOL(254,244),"のエチュード作品8", .875! ,.8125!,%7 ' 14*13
10290 SYMBOL(380,246),"より" , .6875!,.625! ,%7 ' 11*10
10300 SYMBOL(259,263),"第12番 嬰ニ短調" ,1 ,.875! ,%7 ' 16*14
10310 GOSUB *T_LIGHT : WAIT 400 : GOSUB *T_DARK : WAIT 300
10320 '
10330 TIME$="00:00:00" : PLAY@ SCB
10340 '
10350 CLS : LINE(230,170)-(409,279),PSET,%14,BF
10360 X=242:Y=220
10370 PUT@A(X+60,Y+12)-(X+100,Y+57),PN
10380 PUT@A(X, Y) -(X+ 27,Y+48),RA
10390 PUT@A(X, Y+49)-(X+ 27,Y+57),RB2
10400 GOSUB *LIGHT
10410 FOR I=0 TO 7
10420 X=X+2 : LINE(X-2,Y)-(X-1,Y+57),PSET,%14,BF
10430 PUT@A(X, Y) -(X+27,Y+48),RA
10440 PUT@A(X, Y+49)-(X+27,Y+57),RB1
10450 WAIT 24
10460 X=X+2 : LINE(X-2,Y)-(X-1,Y+57),PSET,%14,BF
10470 PUT@A(X,Y) -(X+27,Y+48),RA
10480 PUT@A(X,Y+49)-(X+27,Y+57),RB2
10490 WAIT 24
10500 NEXT I : WAIT 44
10510 LINE(X, Y)-(X+ 4,Y+57),PSET,%14,BF
10520 LINE(X+26,Y)-(X+27,Y+57),PSET,%14,BF
10530 PUT@A(X+5,Y+29)-(X+25,Y+57),FB
10540 PUT@A(X+5,Y) -(X+25,Y+28),FA1 : WAIT 164
10550 PUT@A(X+5,Y) -(X+25,Y+28),FA2 : WAIT 124
10560 PUT@A(X+5,Y) -(X+25,Y+28),FA1 : WAIT 64
10570 PUT@A(X+5,Y) -(X+25,Y+28),FA2
10580 GOSUB *DARK
10590 '
10600 WHILE TIME$<>"00:02:19":WEND : WAIT 50
10610 '
10620 CLS : LINE(230,170)-(409,279),PSET,%14,BF
10630 X=270 : PUT@A(X+32,Y+12)-(X+72,Y+57),PN
10640 PUT@A(X+ 5,Y) -(X+25,Y+28),FA1
10650 PUT@A(X+ 5,Y+29)-(X+25,Y+57),FB
10660 GOSUB *LIGHT
10670 FOR I=0 TO 1 : WAIT 24
10680 PUT@A(X+5,Y)-(X+25,Y+28),FA2 : WAIT 124
10690 PUT@A(X+5,Y)-(X+25,Y+28),FA1 : WAIT 100
10700 NEXT : X=X+2
10710 FOR I=0 TO 7
10720 WAIT 24:LINE(X+28,Y)-(X+29,Y+57),PSET,%14,BF
10730 PUT@A(X,Y) -(X+27,Y+48),LA
10740 PUT@A(X,Y+49)-(X+27,Y+57),LB1
10750 X=X-2
10760 WAIT 24:LINE(X+28,Y)-(X+29,Y+57),PSET,%14,BF
10770 PUT@A(X,Y) -(X+27,Y+48),LA
10780 PUT@A(X,Y+49)-(X+27,Y+57),LB2
10790 X=X-2
10800 NEXT I : GOSUB *DARK : WAIT 500
10810 '
10820 CLS
10830 SYMBOL(215,204),"最後までお付き合いいただき",1 ,.875! ,%7 ' 16*14
10840 SYMBOL(231,228),"ありがとうございました" ,1 ,.875! ,%7 ' 16*14
10850 SYMBOL(265,251),"‘まえすとろ’" ,.75! ,.6875!,%7 ' 12*11
10860 SYMBOL(343,253),"より" ,.5625!,.5! ,%7 ' 9* 8
10870 GOSUB *T_LIGHT : WAIT 400 : GOSUB *T_DARK : WAIT 300
10880 CLS : PALETTE
10890 END
10900 '
10910 *T_LIGHT: FOR I=1 TO 16
10920 WAIT 10:PALETTE 7,[I*15,I*15,I*15] : NEXT I
10930 RETURN
10940 *T_DARK : FOR I=0 TO 15
10950 WAIT 8 :PALETTE 7,[(15-I)*15,(15-I)*15,(15-I)*15] : NEXT I
10960 RETURN
10970 '
10980 *LIGHT : RESTORE *PL1 : GOSUB *PL_READ : WAIT 8
10990 RESTORE *PL2 : GOSUB *PL_READ : WAIT 6
11000 RESTORE *PL3 : GOSUB *PL_READ : WAIT 6
11010 RESTORE *PL4 : GOSUB *PL_READ : WAIT 4
11020 RESTORE *PL5 : GOSUB *PL_READ : WAIT 4
11030 RESTORE *PL6 : GOSUB *PL_READ : WAIT 2
11040 RESTORE *PL7 : GOSUB *PL_READ : WAIT 2
11050 RESTORE *PL8 : GOSUB *PL_READ
11060 RETURN
11070 *DARK : RESTORE *PL7 : GOSUB *PL_READ : WAIT 2
11080 RESTORE *PL6 : GOSUB *PL_READ : WAIT 2
11090 RESTORE *PL5 : GOSUB *PL_READ : WAIT 4
11100 RESTORE *PL4 : GOSUB *PL_READ : WAIT 4
11110 RESTORE *PL3 : GOSUB *PL_READ : WAIT 6
11120 RESTORE *PL2 : GOSUB *PL_READ : WAIT 6
11130 RESTORE *PL1 : GOSUB *PL_READ : WAIT 8
11140 FOR I=8 TO 15
11150 PALETTE I,[0,0,0] : NEXT I
11160 RETURN
11170 '
11180 *PL_READ: FOR I=8 TO 15 : READ B(I),R(I),G(I)
11190 PALETTE I,[G(I)*15,R(I)*15,B(I)*15] : NEXT I
11200 RETURN
11210 '
11220 *PL1 : DATA 08,08,08, 01,01,01, 01,02,01, 01,01,01
11230 DATA 02,02,02, 02,02,02, 01,02,02, 02,02,02
11240 *PL2 : DATA 08,08,08, 01,01,01, 02,03,01, 02,02,02
11250 DATA 04,03,04, 03,04,04, 01,04,04, 04,04,04
11260 *PL3 : DATA 08,08,08, 02,02,02, 03,04,02, 03,03,03
11270 DATA 05,04,05, 04,05,06, 02,06,06, 05,06,06
11280 *PL4 : DATA 08,08,08, 02,02,02, 04,06,02, 04,04,04
11290 DATA 07,06,07, 06,07,08, 03,08,08, 07,08,08
11300 *PL5 : DATA 08,08,08, 03,03,03, 05,08,03, 05,05,05
11310 DATA 09,08,09, 08,09,10, 04,10,10, 09,10,10
11320 *PL6 : DATA 08,08,08, 03,03,03, 07,10,03, 06,06,06
11330 DATA 11,10,11, 10,11,12, 05,12,12, 11,12,12
11340 *PL7 : DATA 08,08,08, 03,03,03, 08,11,04, 07,07,07
11350 DATA 12,11,12, 11,13,14, 06,14,14, 13,14,14
11360 *PL8 : DATA 08,08,08, 04,04,04, 09,13,05, 08,08,08
11370 DATA 14,13,14, 13,15,16, 07,16,16, 15,16,16